package com.zw.a.basic.a07.demo03_static_method;

//学生类
/*
    1.定义学生类, 属性为姓名和年龄(静态修饰), 非静态方法show1(),show2(), 静态方法show3(), show4().
    2.尝试在show1()方法中, 调用: 姓名, 年龄, show2(), show4().
     结论: 非静态方法可以访问所有成员(非静态变量和方法, 静态变量和方法)
    3.尝试在show3()方法中, 调用: 姓名, 年龄, show2(), show4().
     结论: 静态方法只能访问静态成员.
 */
public class Student {
    String name = "刘亦菲";        //非静态成员变量
    static int age = 33;           //静态的成员变量

    public void show1() {
        System.out.println(name);
        System.out.println(age);
        //this.show2();         标准写法
        show2();

        //Student.show3();      标准写法
        show3();                //因为是访问本类的静态成员方法, 所以可以省略类名不写.
        show4();
        System.out.println("show1方法  非静态方法");
    }

    public void show2() {
        System.out.println("show2方法  非静态方法");
    }

    public static void show3() {
        //System.out.println(name);       //非静态成员变量
        System.out.println(age);         //静态成员变量

        //this.show2();                   //非静态方法
        Student.show4();                //静态方法

        System.out.println("show3方法  静态方法");
    }

    public static void show4() {
        System.out.println("show4方法  静态方法");
    }
}
